USE [GD1C2012]
GO

--SP Obtencion de cliente por DNI
CREATE PROCEDURE TEQUILASO.sp_obtenerAutomovilPorId
	@Id int
AS
BEGIN
	select A.Id, A.Licencia, A.Rodado, A.Id_Marca, A.Modelo, A.Patente, A.Id_Reloj,	A.Habilitado from TEQUILASO.AUTOMOVIL as A
	where A.Id = @Id		
END
GO

--SP insertar AUTOMOVIL
GO
CREATE PROCEDURE TEQUILASO.sp_altaAutomovil
	@Licencia varchar(26),
	@Rodado varchar(26),
	@Descripcion varchar(255),
	@Modelo varchar(255),
	@Patente varchar(50),
	@Reloj_nro_serie varchar(18)
AS
	DECLARE @Id_Marca INT,
			@Id_Reloj INT,
			@Habilitado bit
BEGIN	
	SET @Habilitado = 1
	select @Id_Marca = id from tequilaso.MARCA_AUTOMOVIL where descripcion = @Descripcion;
	select @Id_Reloj = id from tequilaso.Reloj where Nro_serie = @Reloj_nro_serie ;
	insert into TEQUILASO.AUTOMOVIL (Licencia, Rodado, Id_Marca, Modelo, Patente, Id_Reloj, Habilitado)
			values (@Licencia, @Rodado, @Id_Marca, @Modelo, @Patente, @Id_Reloj, @Habilitado) 
	Declare @Id int
	Select	@Id = scope_identity()		
	Execute TEQUILASO.sp_obtenerAutomovilPorId @Id
END
GO

--SP buscar AUTOMOVIL
CREATE PROCEDURE TEQUILASO.sp_buscar_automovil
	@Patente varchar(50),
	@Modelo varchar(255),
	@Licencia varchar(26),
	@MarcaAuto varchar(255),
	@Reloj_nro_serie varchar (255)
AS
	DECLARE @Id_reloj int, 
			@Id_Marca int
BEGIN
	select @Id_Marca = id from tequilaso.MARCA_AUTOMOVIL where descripcion = @MarcaAuto;
	select @Id_Reloj = id from tequilaso.Reloj where Nro_serie = @Reloj_nro_serie;
	if (@Id_Marca is null and @Id_Reloj is not null) 
		(select * from tequilaso.automovil where
			patente Like '%'  + LTRIM(RTRIM(@Patente)) + '%' and
			modelo Like '%'   + LTRIM(RTRIM(@Modelo)) + '%' and
			licencia like '%' + LTRIM(RTRIM(@Licencia)) + '%' and
			id_reloj = @Id_Reloj);
	else if (@Id_Marca is not null and @Id_Reloj is null) 
		(select * from tequilaso.automovil where
			patente Like '%'  + LTRIM(RTRIM(@Patente)) + '%' and
			modelo Like '%'   + LTRIM(RTRIM(@Modelo)) + '%' and
			licencia like '%' + LTRIM(RTRIM(@Licencia)) + '%' and
			id_marca = @Id_Marca);
	else if (@Id_Marca is null and @Id_Reloj is null) 
		(select * from tequilaso.automovil where
			patente Like '%'  + LTRIM(RTRIM(@Patente)) + '%' and
			modelo Like '%'   + LTRIM(RTRIM(@Modelo)) + '%' and
			licencia like '%' + LTRIM(RTRIM(@Licencia)) + '%');
	else if (@Id_Marca is not null and @Id_Reloj is not null)
		(select * from tequilaso.automovil where
			patente Like '%'  + LTRIM(RTRIM(@Patente)) + '%' and
			modelo Like '%'   + LTRIM(RTRIM(@Modelo)) + '%' and
			licencia like '%' + LTRIM(RTRIM(@Licencia)) + '%' and
			id_marca = @Id_Marca and id_reloj = @Id_Reloj);

END
GO


CREATE PROCEDURE TEQUILASO.sp_bajaAutomovil
	@Id varchar(255)
AS
BEGIN
	delete from TEQUILASO.automovil where CAST(Id as varchar(255)) = @Id
END
GO


--SP Modificar datos del automovil
CREATE PROCEDURE TEQUILASO.sp_modificarAutomovil
	@Id int,
	@Licencia varchar(26),
	@Rodado varchar(26),
	@Marca varchar(255) ,
	@Modelo varchar(255),
	@Patente varchar(50),
	@Reloj_nro_serie varchar(255),
	@Habilitado bit
AS
DECLARE @Id_Marca int, @Id_Reloj int
BEGIN
	select @Id_Marca = id from tequilaso.MARCA_AUTOMOVIL where descripcion = @Marca;
	select @Id_Reloj = id from tequilaso.Reloj where Nro_serie = @Reloj_nro_serie ;
	update TEQUILASO.AUTOMOVIL set	
		Licencia = @Licencia,
		Rodado = @Rodado,
		Id_Marca = @Id_Marca,
		Modelo = @Modelo,
		Patente = @Patente,
		Id_Reloj = @Id_Reloj,
		Habilitado = @Habilitado						
	where Id = @Id
END
GO

